Skip to content

fix(scripts): attribute the ci-cd-pipeline ledger's ci.yml control count to objectui#6400 - #7940

Merged
baozhoutao merged 1 commit into
mainfrom
claude/issue-7034-version-claim-ledger-control-count
Sep 6, 2026
Merged

fix(scripts): attribute the ci-cd-pipeline ledger's ci.yml control count to objectui#6400#7940
baozhoutao merged 1 commit into
mainfrom
claude/issue-7034-version-claim-ledger-control-count

Conversation

@claude

@claude claude Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Fixes #7034

What changed

The version-claim ledger's content/docs/guide/ci-cd-pipeline.md :: Node 22.x entry (scripts/__tests__/doc-version-claims.test.ts) carried a control count in two places — its why string and the matching docblock bullet — reading "28 mentions of ci.yml" with no unit and no attribution. objectui#7034 found the sibling pin test (ci-cd-pipeline-doc.test.ts) holds 29 by occurrence count today.

Disposition B (per #7034's triage, adopting the card's own recommendation): attribute the count to the change that measured it, and state its unit.

Why 28 is the right number to keep (not re-take, not delete)

Re-measured on this branch:

$ grep -c 'ci\.yml' scripts/__tests__/ci-cd-pipeline-doc.test.ts
28   # matching LINES
$ grep -o 'ci\.yml' scripts/__tests__/ci-cd-pipeline-doc.test.ts | wc -l
29   # occurrences (one line carries the token twice)

The triage comment's finding: these two commands differ by exactly the line that carries ci.yml twice. That gave a testable hypothesis — the ledger's "28" was plausibly a line count from the start, not a number that drifted from 28 to 29.

Confirmed against PR #6450 (the PR that implemented objectui#6400's disposition and wrote this exact sentence into the ledger). Its own PR body shows the command it ran:

$ grep -cP '\b22\b'       scripts/__tests__/ci-cd-pipeline-doc.test.ts   ->  0
$ grep -c  'node-version' scripts/__tests__/ci-cd-pipeline-doc.test.ts   ->  0
$ grep -c  'ci\.yml'      scripts/__tests__/ci-cd-pipeline-doc.test.ts   -> 28   (control)

grep -c — matching lines, not occurrences. So "28" has been a line count since it was written, and is still exactly 28 by that measure today. The ambiguity #7034 found was the missing UNIT, not staleness. Accordingly the two sentences now read "28 LINES matching ci.yml, as of objectui#6400 — not an occurrence count, which reads one higher" instead of naming a bare "29" that would itself need future re-verification.

Diff

Both edits are in scripts/__tests__/doc-version-claims.test.ts only — the docblock bullet (~L415-419) and the why string of the content/docs/guide/ci-cd-pipeline.md :: Node 22.x KNOWN_CLAIMS entry (~L1040). No assertion, gate behaviour, or other KNOWN_CLAIMS entry touched.

- *     whatsoever (control, same file, same sweep: 28 mentions of `ci.yml`). It pins the
+ *     whatsoever (control, same file, same sweep: 28 LINES matching `ci.yml`, as of
+ *     objectui#6400 - not an occurrence count, which reads one higher). It pins the
- ...(control, same file: 28 mentions of ci.yml). Nothing re-measured either half...
+ ...(control, same file: 28 lines matching ci.yml, as of objectui#6400 - not an
+ occurrence count, which reads one higher). Nothing re-measured either half...

Reverse verification

$ git grep -c "28 mentions of" -- scripts/__tests__/doc-version-claims.test.ts   # old phrase
(no match, exit 1)
$ git grep -c "LINES matching" -- scripts/__tests__/doc-version-claims.test.ts   # new docblock phrase
1
$ git grep -c "lines matching ci.yml, as of objectui#6400" -- scripts/__tests__/doc-version-claims.test.ts  # new why-string phrase
1
$ git grep -c "42 mentions of ci.yml" -- scripts/__tests__/doc-version-claims.test.ts  # fabricated-phrase control
(no match, exit 1)

Tests / gates (all at final commit 7b34c3e7b)

gate result
pnpm exec vitest run --maxWorkers=2 scripts/__tests__/doc-version-claims.test.ts scripts/__tests__/ci-cd-pipeline-doc.test.ts 2 files / 65 tests passed, exit 0
pnpm type-check:scripts exit 0
pnpm lint:root exit 0 (0 errors, 32 pre-existing warnings, none in the touched file)
pnpm check:control-bytes OK, scanned 6407 tracked text files
node scripts/check-changeset-presence.mjs exit 0 — no changeset owed (test-only file, not a released package's source)

Files changed: exactly 1 (scripts/__tests__/doc-version-claims.test.ts), no changeset (not owed).

Draft PR, no auto-merge — per this card's dispatch.


Generated by Claude Code

…unt to objectui#6400

The version-claim ledger's `content/docs/guide/ci-cd-pipeline.md :: Node
22.x` entry (and its matching docblock bullet) said "28 mentions of
ci.yml" as a control count for the sibling pin test, with no unit and no
attribution. objectui#7034 found the file today holds 29 by occurrence
count (`grep -o 'ci\.yml' | wc -l`).

Re-measured: `grep -c 'ci\.yml'` (matching lines) still reads 28 today,
matching what PR #6450 measured with the same command when it fixed
objectui#6400 (its body shows `grep -c 'ci\.yml' ... -> 28 (control)`).
So 28 was a line count from the moment it was written, not a drifted
occurrence count — the ambiguity was the missing unit, not staleness.

Disposition B per objectui#7034's triage: attribute the count to
objectui#6400's cut and state its unit (lines, not occurrences), per the
policy this file's own header already states for counts recording what
a change measured when it landed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013uAaxiwgYDybsTNV9xwa1M
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

finding(gate): the version-claim ledger's ci-cd-pipeline Node 22.x reason states 28 mentions of ci.yml in its pin test; the file holds 29

2 participants